package bszt.oppo;

import java.util.Scanner;

public class Code02 {

    /**
     * 题目描述
     * LYA正在玩一款角色扮演游戏。在游戏中,他需要操控角色在n个关卡中战斗,每个关卡都有一个 boss
     * 游戏的战斗机制如下:
     * 每个回合LYA先手攻击boss,然后boss会反击
     * 如果LYA在该回合成功闪避,则不会受到boss的伤害
     * LYA造成的伤害为a+b*c,其中a为基础攻击力,b为连击加成,而c为连击数
     * 每次攻击后,LYA的连击数c会加1,但当LYA受到boss的攻击时,连击数会重置为0
     * LYA想知道,在通过这n个关卡后,他总共对boss们造成了多少伤害
     * <p>
     * 输入格式
     * 第一行输入三个正整数n,a,b,分别代表关卡数,LYA的基础攻击力和连击加成
     * 第二行输入一个长度为n的字符串,字符串仅由o和x组成,其中o代表本回合闪避成功,x代表本回合闪避失败
     * <p>
     * 输出格式
     * 一个正整数,代表LYA造成的总伤害
     */

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int a = sc.nextInt();
        int b = sc.nextInt();
        String str = sc.next();
        int res = 0;
        int c = 0;
        for (int i = 0; i < n; i++) {
            res += a + b * c;
            if (str.charAt(i) == 'o') {
                c++;
            } else {
                c = 0;
            }
        }
        System.out.println(res);
    }
}
